草庐IT

php in_array - 意外行为

全部标签

javascript - 如何从 javascript Array.map() 回调中排除一些元素

基本上,我想实现以下内容:varcategories=[];varproducts=//somearrayofproductobjectsproducts.map(function(value){if(categories.indexOf(value.Category===-1))categories.push(value.Category);});因此,categories数组包含唯一的产品类别列表。我觉得应该有更好的方法来做到这一点,但没有想到。如果没有,那么一开始就没有必要使用map()。我可以做的很简单varcategories=[];varproducts=//somearr

javascript - Bind 的下划线行为

阅读源代码:http://documentcloud.github.com/underscore/underscore.js这是经常使用的_bind方法(为清楚起见,我删除了native检查)_.bind=function(func,obj){varargs=slice.call(arguments,2);returnfunction(){returnfunc.apply(obj,args.concat(slice.call(arguments)));};};传递给func.apply的参数在最后似乎不必要地重复使用Node解释器的示例(删除最后一行以在Firebug等中尝试。)var

javascript - 检查 Array 在 Javascript 中是否具有精确的键值对象

我正在做一个简单的检查,看看这个数组是否有一个精确的键值对。例如testArray=[{"key1":"value1"},{"key2":"value2"},{"key1":"value2")]如何检查数组是否包含确切的对象{"key1":"value2"}?感谢您的帮助。 最佳答案 在现代浏览器中,testArray.some(function(o){returno["key1"]==="value2";})如果找到对,则为true,否则为false。这假设每个对象只包含一对键/值,并且该值永远不会undefined。

javascript - ng-include 改变 angular-ui datepicker 的行为

我在我的一些页面上使用了ng-include,但是我不得不停止使用ng-include,因为它破坏了angular-ui日期选择器。我打开了这个Githubbug.我想知道是否有其他人遇到指令在用作ng-include的一部分时无法以相同方式运行的问题。有没有办法让日期选择器作为ng-include的一部分按预期工作?这里有一个plunker展示了它是如何被破坏的。http://plnkr.co/edit/AboEJGxAK3Uz76CfpaZ0?p=preview这是在View中工作的html,但在包含ng的一部分时不起作用。这是来自Controller的JS。$scope.open

javascript - 我如何遍历 Array.prototype 函数

我想将所有数组函数包装在数组对象中,但在控制台中>>>Array.prototype[]>>>[].prototypeundefined但是当我在控制台中键入Array.prototype时,它会在自动完成中显示所有函数,我如何才能获得这些函数?它们藏在哪里? 最佳答案 你的意思是:vararrObj=Object.getOwnPropertyNames(Array.prototype);for(varfuncKeyinarrObj){console.log(arrObj[funcKey]);}

javascript - "import"意外 token ? ( Chrome 62)

在尝试解决为什么systemjs找不到我安装的自定义库时(可能是后续问题),我在尝试“手动”执行操作时遇到了困难。所以我有一个由3个文件组成的简单系统:index.htmlhi.jshi2.js索引只是:Testhi.js:import*ashifrom"hi2.js";hi.myFunction();hi2.js:functionmyFunction(){alert('hi')}export{myFunction};现在当我运行(使用webstorm和chrome62)上面的代码时,我得到以下错误,由(chrome)调试器报告:“未捕获的语法错误:意外的token导入”这里发生了什么

javascript - 如何为 d3 JavaScript 库中的拖动行为设置 Origin (drag.origin)

我正在尝试使用d3框架为由HTML文本和背景矩形组成的组实现拖动行为。我能够让它工作,虽然当没有设置drag.origin时,我可以看到由于鼠标位置/元素坐标偏移而明显的跳跃。d3wiki-page上的描述究竟如何虽然该页面描述了如何设置拖动的原点,但我没有正确理解我在示例中是如何实现它的。我尝试了两种不同的方法:使用元素将元素组合在一起并定义新元素。在第一种情况下,我必须使用翻译功能,我什至不知道如何获取组的坐标。varsvg=d3.select("body").append("svg").attr("width",960).attr("height",500);vargroup=s

javascript - JS : Array. map 不添加到数组

我有一些数据想使用Array.prototype.map进行转换。但是,在map函数中,外部函数调用可能会引发错误。我想捕获此错误,而不是将该特定对象添加到返回的数组中。目前我只是返回undefined然后使用Array.prototype.filter清除未定义的值,但这似乎是一种肮脏的方式。澄清一下,我正在寻找此功能:['apple','pear','banana','peach'].map(function(fruit){if(fruit==='apple'){returnundefined;}return'Ilovetoeat'+fruit;});//['Ilovetoeatp

javascript - Array.map 想映射一个值到空

我有数组:[1,2,3,4,5,6,7]我要实现:[[1,2],[3,4],[5,6],[7]]我在考虑Array.map,但它似乎无法为元素映射到任何内容?我有(使用Underscorejs):arr.map(function(el,idx,arr){if(idx%2!=0)returnnull;if(idx==arr.length-1)return[el];return[el,arr[idx+1]]}).compact();这还是有点丑。我怎样才能实现转换(没有显式循环)? 最佳答案 使用模运算符减少数组:functionchu

javascript - 如何在 JavaScript 中使用 `Array#map` 中的 `Promise.all`

我正在尝试创建一个包含项目数组的Promise.all。所以如果我这样创建它,它就可以正常工作Promise.all([Query.getStuff(items[0]),Query.getStuff(items[1])]).then(result=>console.log(result))如果我尝试像这样创建Promise.all,它不起作用Promise.all([items.map(item=>Query.getStuff(item))]).then(result=>console.log(result))thenblock在Query.getStuff(item)之前运行。我错过